是這樣的......
有一張表讓我覺得很酷,
那就是[Person].[Password]:
SELECT *
FROM [Person].[Password]
密密麻麻的密碼!!
我也試著製作密碼,
就是把資料加密,一起來看看:
先找到下手目標-[Person].[EmailAddress]
SELECT *
FROM [Person].[EmailAddress]
再來我想要選出EmailAddress這個欄位,
並且動一些手腳,
那就是第二欄選出EmailID,
也就是@後的文字不需要,
這時候我們會需要SUBSTRING,
公式是:
SUBSTRING(欄位,0,CHARINDEX('識別符號',欄位))
整理一下會變成:
SELECT [EmailAddress]
,SUBSTRING([EmailAddress],0,CHARINDEX('@',[EmailAddress]))
,*
FROM [Person].[EmailAddress]
之前我們有說過佔存表就是我們整理的資料精華,
現在我要把資料存進去:
--先宣告佔存表
declare @ta table(e1 nvarchar(100),e2 nvarchar(100))
--INSERT資料
INSERT INTO @ta(e1,e2)
SELECT [EmailAddress]
,SUBSTRING([EmailAddress],0,CHARINDEX('@',[EmailAddress])) EmailID
FROM [Person].[EmailAddress]
接著就是我們的重頭戲:加密!
一樣要使用剛剛認識的好朋友SUBSTRING,
複雜的公式是
SUBSTRING(sys.fn_varbintohexstr(hashbytes('SHA2_256',cast(欄位 as varchar(10)))),3,64)
來用看看:
SELECT e1 EmailAddress
,e2 加密前
,SUBSTRING(sys.fn_varbintohexstr(hashbytes('SHA2_256',cast(e2 as varchar(10)))),3,64)加密後
FROM @Ta
完成!
明天會繼續說明加密這件事情,
敬請期待~